import request from '@/utils/request.js';

/**
 * 获取农资入库记录分页列表
 * @param {Object} params - 查询参数
 * @param {string} [params.materialId] - 农资ID
 * @param {string} [params.specId] - 规格ID
 * @param {string} [params.locationId] - 库位ID
 * @param {string} [params.quantity] - 入库数量
 * @param {string} [params.unitPrice] - 单价
 * @param {string} [params.totalAmount] - 总金额
 * @param {string} [params.batchNumber] - 批次号
 * @param {string} [params.supplier] - 供应商
 * @param {string} [params.operator] - 操作人
 * @param {string} [params.inTime] - 入库时间
 * @param {string} [params.remark] - 备注
 * @param {string} [params.images] - 现场图片(可存多张图片URL，JSON格式)
 * @param {number} params.pageNo - 页码，从 1 开始
 * @param {number} params.pageSize - 每页条数，最大值为 100
 * @returns {Promise} 返回接口响应
 */
export function getWarehouseInPage(params) {
  return request.get('/app-api/nongye/appStock-in/page', params);
}

/**
 * 创建农资入库记录
 * @param {Object} data - 入库记录数据
 * @param {number} [data.inId] - 入库ID
 * @param {number} data.materialId - 农资ID
 * @param {number} data.specId - 规格ID
 * @param {number} data.locationId - 库位ID
 * @param {number} data.quantity - 入库数量
 * @param {number} data.unitPrice - 单价
 * @param {number} data.totalAmount - 总金额
 * @param {string} data.batchNumber - 批次号
 * @param {string} data.supplier - 供应商
 * @param {string} data.operator - 操作人
 * @param {string} data.inTime - 入库时间
 * @param {string} data.remark - 备注
 * @param {string} data.images - 现场图片(可存多张图片URL，JSON格式)
 * @returns {Promise} 返回接口响应
 */
export function createWarehouseIn(data) {
  return request.post('/app-api/nongye/appStock-in/create', data);
}

/**
 * 获得仓库信息列表
 * @param {Object} params - 查询参数
 * @param {string} [params.warehouseName] - 仓库名称
 * @param {string} [params.location] - 仓库位置
 * @param {string} [params.manager] - 仓库管理员
 * @param {string} [params.contactPhone] - 联系电话
 * @param {string} [params.status] - 状态：1-启用，0-禁用
 * @param {string} [params.createTime] - 创建时间
 * @param {string} [params.remark] - 备注
 * @param {number} params.pageNo - 页码，从 1 开始
 * @param {number} params.pageSize - 每页条数，最大值为 100
 * @returns {Promise} 返回接口响应
 */
export function getWarehouseList(params) {
  return request.get('/app-api/nongye/appwarehouse/findList', params);
}


/**
 * 获得农资出库记录分页列表
 * @param {Object} params - 查询参数
 * @param {string} [params.materialId] - 农资ID
 * @param {string} [params.specId] - 规格ID
 * @param {string} [params.warehouseId] - 出库仓库ID
 * @param {string} [params.locationId] - 库位ID
 * @param {string} [params.quantity] - 出库数量
 * @param {string} [params.unitPrice] - 单价
 * @param {string} [params.totalAmount] - 总金额
 * @param {string} [params.recipient] - 领用人
 * @param {string} [params.purpose] - 用途
 * @param {string} [params.operator] - 操作人
 * @param {string} [params.outTime] - 出库时间
 * @param {string} [params.remark] - 备注
 * @param {string} [params.images] - 图片
 * @param {number} params.pageNo - 页码，从 1 开始
 * @param {number} params.pageSize - 每页条数，最大值为 100
 * @returns {Promise} 返回接口响应
 */
export function getWarehouseOutPage(params) {
  return request.get('/app-api/nongye/appstock-out/page', params);
}

/**
 * 创建农资出库记录
 * @param {Object} data - 出库记录数据
 * @param {number} [data.outId] - 出库ID
 * @param {number} data.warehouseId - 仓库ID
 * @param {number} data.materialId - 农资ID
 * @param {number} data.specId - 规格ID
 * @param {number} data.locationId - 库位ID
 * @param {number} data.quantity - 出库数量
 * @param {number} data.unitPrice - 单价
 * @param {number} data.totalAmount - 总金额
 * @param {string} data.recipient - 领用人
 * @param {string} data.purpose - 用途
 * @param {string} data.operator - 操作人
 * @param {string} data.outTime - 出库时间
 * @param {string} data.remark - 备注
 * @param {string} data.images - 图片
 * @returns {Promise} 返回接口响应
 */
export function createWarehouseOut(data) {
  return request.post('/app-api/nongye/appstock-out/create', data);
}

/**
 * 根据农资类型查询农资列表
 * @param {Object} params - 查询参数
 * @param {string} [params.materialType] - 农资类型（传仓库位置ID - locationId）
 * @returns {Promise} 返回接口响应
 */
export function getAgriculturalMaterialsByType(params) {
  return request.get('/app-api/nongye/appAgricultural-materials/findOutListByMaterialType', params);
}